Interactive television systems are being developed and tested by various telephone and cable companies. These systems will allow users to interact with large computer systems operated by the telephone and cable companies via their television sets. The potential for interactive television is great. Users of the systems will be able to access movies on demand, pay bills, bank, shop, place orders, make reservations, participate in interactive games and forums, access informational data bases and perform numerous other functions in addition to accessing the traditional television stations.
The interactive systems are designed to allow for two-way digital communication between the providing company and the user. In the systems under development by the telephone companies, the communication will be accomplished over existing telephone lines. However, as mentioned, the communication will be digital, not analog, which will allow for much higher data transfer rates which are required, for example, to access a movie. The use of the telephone lines for two-way multi-media interaction has been called video dial tone. In the case of the systems being developed by the cable companies, the existing cable line will be used. As with the telephone systems, the communication will be two-way and will be digital. Appropriately, the cable based interactive television systems have been referred to as digital two-way cable. In both the telephone and the cable systems, the communication can be a combination of digital and analog signals.
The goal of the systems is to provide a user friendly interface at the user end. The systems require that the user have a computer/decoder similar to the need for having a cable decoder in traditional cable systems. These computer/decoders for the interactive television systems have become known as set top boxes referring to the fact that these boxes will be set on top of the television set, or at least in close proximity. These computer/decoders, or set top boxes, for the interactive television systems also can reside inside the television housing itself in a fashion similar to the cable boxes which originally resided outside in a separate box but now are incorporated inside the television housing. Each set top box will include a remote control which will provide for the user interface and interaction between the user and the interactive television system. Other input devices can also be used to customize the manner in which selections are made. Thus, the user will access the services of interactive television, make decisions, enter choices, play games and the like using the remote control and other input devices.
For example, a user may decide that she wishes to watch a movie. Using the remote control, the user will select the movie category from an option menu. The user then makes appropriate selections from the menu driven choices, using the remote control, until she has selected the particular movie she wishes to watch. At this point the interactive television system accesses the information for this movie and prepares to begin downloading it, segment by segment, to the set top box. At the user end, the remote control now functions similarly to a remote control for a VCR. Thus the user can play, pause, rewind and fast forward. The set top box controls the two-way communication. It sends the commands from the user to the interactive television system as well as accepts the digitized movie information, encoded in MPEG (Motion Picture Experts Group) or MPEG 2 format, for example, and converts it into a format acceptable to the television such as NTSC, PAL, HDTV or SECAM.
In the case of users placing orders, and for illustrative purposes, the specific example of a user placing a food order, the user might select, utilizing the remote control, the restaurant selection from an options menu. In well developed systems, the user could then select the listing of restaurants by some sort of preference. For example, the user may select by type of cuisine, by restaurants offering carry-out or delivery, in order of proximity to the user, alphabetically within a certain radius of the user, and so on. If the user selects pizza restaurants offering delivery, the appropriate list will be displayed for the user. The user then selects the particular restaurant, type of pizza, payment method, preference for delivery time, maximum wait time and any other relevant information for which the system prompts. The system will then automatically place the order with the pizza restaurant.
As can be seen in these examples, the emphasis is on easy access and interface for the user. The cost of this ease for the user is complexity in the set top box and in the interactive television system. One of the concerns relating to the complexity of the set top boxes, and the concern addressed by this invention, is the need for upgrading the system inside the set top box as system requirements change or evolve. As discussed, the set top box is a multimedia computer. However, unlike other computers used for multimedia, two additional criteria must be satisfied. First, the system must be able to handle tasks in real time, and second, the requirements of the set top box user must be kept at a minimum from a technical standpoint.
For example, if a user has selected a particular game he wishes to play, and the game requires a system driver or system software which his set top box does not have or which is newer than the version in his set top box, the set top box must somehow be upgraded in order to allow the user to play this particular game. The traditional computer solution requires that the user obtain the new software, either by purchasing, contacting the software company or possibly downloading off a computer service or bulletin board. The user must then load the software into the computer, typically through a disk drive, modify the system and restart the computer such that the new software is incorporated into the system.
This solution is unacceptable in the interactive television environment for several reasons. First, the goal of the set top boxes and interactive television systems is to create an environment which is user friendly even for users not proficient in any type of computing. Second, even for computer proficient users, the time required for user upgrading is too great from a convenience perspective. Users of the system will not want to have to wait hours or days in order to receive the new software to upgrade their set top boxes. Third, user upgrading would most certainly require that there be some form of disk drive in the set top box. This requirement is unacceptable due to the increased cost factors and because of the goal to make the computer aspects of the set top box embedded such that the end user does not feel like he is using a computer. Finally, after making changes to a computer system, the user typically must restart the computer. It is not convenient or desirable to have the user be required to turn off and then restart the set top box.
One proposed solution to this problem has been to provide only a minimal system in the set top box which provides just enough functionality for the set top box to connect with the interactive television system. Once the connection has been established, the interactive television system downloads a complete operating system to the set top box which will include all of the most current system components. The minimum system will then utilize the downloaded system and perform a full system boot with all of the latest system components. This solution solves the problem of having an outdated version of a system component as well as the problem of not having a particular system component. However, there would seem to be several disadvantages associated with this type of approach.
The downloading of all system components is best described as a brute force solution. Thus, it requires that any system component that could possibly be needed be downloaded. This is disadvantageous for various reasons. One reason is that it creates a large system with components that may not be needed. Also, the larger the system, the longer the delay until the system has booted and the user may start interacting. Furthermore, there is additional time required because the entire system must be downloaded each time over the network as opposed to, for example, the system residing inside the set top box. Finally, the brute force solution requires that the system software be loaded into and run from RAM (Random Access Memory) necessitating that the set top box be RAM intensive which can add additional cost to the set top box.
Thus, there is a need for a set top box in which resides the majority of the operating system and which allows for the operating system to be upgraded in real time without requiring action on the part of the user which might include the need for restarting the system.